1. Field of the Invention
The present invention relates to a device for processing image data such as a digital copying machine with an image memory and to a method of processing image data. More particularly, it relates to improvements in techniques of controlling the image memory of the digital copying machine.
2. Description of the Prior Art
In recent years, there has been proposed a digital copying machine with an image memory, in which image data obtained by reading an original document is divided into a plurality of blocks (or a plurality of bands each having a specified number of lines) so as to be compressed at every block, and then the compressed blocks are expanded prior to completion of the compression of the whole image data, thereby enabling it to start printing earlier.
Moreover, in order to increase the copying speed further, there has also been proposed a digital copying machine in which printing of image data starts during expansion processing of the compressed image data.
Further, there has been proposed a digital copying machine which performs expression processing by using a plurality of expanders so as to enable it to start printing much earlier.
Thus, when printing of image data is to be started before expansion of the image data to be output is completed as described above, timing of starting to print must be set carefully so that the progress of printing does not outrun the progress of expansion. Hereupon, if the printing speed is slower than the expanding speed, printing can be started immediately after starting the expansion of the image data because progress of printing cannot outrun the progress of expansion. However, if the printing speed is faster than the expanding speed, timing of starting to print must be set by predicting the time when expansion will be completed so that the progress of printing does not outrun the progress of expansion.
Moreover, when the image data, which is divided along the vertical direction (auxiliary scanning direction) and horizontal direction (principal scanning direction) into a plurality of blocks of predetermined size respectively, is expanded by using a plurality of expanders, and then printing is started before the completion of the expansion processing, the expansion time of each of the blocks differs from one another. Therefore, in each of all the blocks, timing of starting to print must be carefully set so that the progress of printing does not outrun the progress of expansion.
For example, let us suppose that the image data is divided along the vertical direction into four blocks and also divided along the horizontal direction into four blocks, namely divided into sixteen blocks in total, and then compressed at every block. Further, let us suppose that two expanders (first expander and second expander) are used in the expansion processing, the image data in the left two columns of blocks are expanded by the first expander, and the image data in the right two columns of blocks are expanded by the second expander. Thus, in the above-mentioned case, the expansion processing can be performed in higher expanding speed as about twice as in the case where only one expander is used.
However, when each of the blocks to be expanded is simply assigned to either one of the two expanders as described above, if the time required for expanding the image data of each of the left two columns of blocks is different from that of each of the right two columns of blocks, the total processing time of the first expander differs from that of the second expander. Therefore, the both expanders do not complete expansion processing at the same time. In consequence, it must occur such a condition that one of the two expanders completes expansion processing earlier in comparison with the other expander so that the expander which completes expansion earlier cannot perform any processing till the other expander completes expansion processing. Therefore, a plurality of expanders (two expanders) cannot efficiently function.
Further, in the above-mentioned case, it is obliged to set the timing to start outputting data according to the expander which completes expansion later. Therefore, the timing at which outputting can be started may be delayed in comparison with the case in which all the expanders complete their processing at the same time. Hereupon, if the size of each of the expanders differs from one another, or the number of the blocks which are assigned to each of the expanders differs from one another, the same disadvantage may also occur.
The present invention has been developed to solve the problems of the prior art described above, and has an object of providing a device (such as a digital copying machine) or method for processing image data, in which the image data is divided into a plurality of blocks, compressed at every block (namely, in the unit of block), and is expanded at every block by a plurality of expanders, wherein the timing which can start printing is quickened as early as possible.
According to the first aspect of the present invention, there is provided an image data processing apparatus for processing a digital image data including, (A) a plurality of expanders for receiving a compressed image data divided into a plurality of blocks and then expanding the compressed image data to output, and (B) a controller for assigning each of the blocks of compressed image data to the expanders according to a time which each of the expanders requires to expand the compressed image data, (C) wherein each of the expanders expands the blocks of image data assigned thereto.
In the apparatus it is preferable that the controller has a predictor for predicting a time which each of the expanders requires to expand the blocks of image data which have been already assigned thereto, the controller assigning each of the blocks to the expanders according to the time predicted by the predictor.
Further, in the apparatus it is more preferable that the predictor predicts a time required for expanding each of the blocks of image data on the basis of a time consumed for compressing the block of image data.
Moreover, the apparatus may includes a compressor for dividing the image data into a plurality of blocks to compresses the image data in the unit of block, wherein the image data compressed by the compressor is input to the expanders. Hereupon, the number of the compressor may be plural.
According to the second aspect of the present invention, there is provided an image data processing apparatus for processing a digital image data including, (A) a compressor for receiving an image data and then dividing the image data into a plurality of blocks to compress the image data in the unit of block, (B) a memory for storing the image data compressed by the compressor, (C) a plurality of expanders for expanding the compressed image data, (D) a controller for reading the compressed image data in the unit of block from the memory to assign the compressed image data to the expanders, the controller calculating a time which each of the expanders requires to expand the blocks of image data which have been already assigned thereto to assign each of the blocks to any one of the expanders according to the calculated time, and (E) a synthesizer for synthesizing each of the blocks of image data expanded by the expanders to generate one image.
In the apparatus, it is preferable that the controller calculates the time which each of the expanders requires to expand the image data on the basis of a time which the compressor has consumed to compress the image data.
Further, in the apparatus, it is more preferable that the expanders simultaneously expand the block of image data assigned thereto in parallel with one another. Moreover, the apparatus may further include a printer for performing printing processing on the basis of the image data synthesized by the synthesizer. Hereupon, the apparatus may further include an image reader for reading an original image to generate the image data, the image reader outputting the read image data to the compressor.
In the apparatus, it is preferable the memory has a capacity capable of storing the image data corresponding to a plurality of original image sheets, wherein pages of the image data are sorted by controlling an order of reading the image data from the memory.
According to the third aspect of the present invention, there is provided an image data processing method of processing a digital image data including (A) the step of assigning a compressed image data, which is divided into a plurality of blocks and then compressed, to any one of a plurality of expanders, (B) the step of calculating an expansion time which each of the expanders requires to expand the blocks of image data assigned thereto in the assigning step, (C) the step of performing repeatedly the assigning step and the calculating step according to the expansion time calculated in the directly previous calculating step, and (D) the step of expanding the blocks of image data assigned to each of the expanders by driving the expanders at the same time.
The method may further include the step of printing the image data expanded in the expanding step, or include the step of reading an original image to generate the image data, and the step of compressing the image data generated in the reading step in the unit of block to generate the compressed image data to be expanded.
In the method, it is preferable that the expansion time is calculated in the calculating step according to a time which has been consumed to compress each of the blocks of image data in the compressing step.
The method may further include the step of storing the image data corresponding to a plurality of original image sheets compressed in the compressing step to a memory, and then repeatedly reading the stored image data at plural times, wherein the read image data is expanded in the expanding step.
Also in the method,it is more preferable that the image data is assigned to the expanders in such a manner that the expansion time of each of the expanders is close to one another.
According to the present invention, the difference of the total expansion time among the expanders is very close to one another. Therefore, all the expanders can be efficiently used so that the timing when printing can be started is quickened. In consequence, the speed of expansion processing or print processing is improved.